// 计分面板类ScorePanel
class ScorePanel {
    // 记录分数和等级
    score = 0;
    level = 1;

    // 分数等级所在元素，构造函数中进行初始化
    scoreEle: HTMLElement;
    levelEle: HTMLElement;

    // 设置一个变量限制等级
    maxLevel: number;

    // 设置一个变量表示多少分是升级
    upScore: number;

    constructor(maxLevel: number = 10, upScore: number = 10) {
        this.scoreEle = document.getElementById("score")!
        this.levelEle = document.getElementById("level")!
        this.maxLevel = maxLevel;
        this.upScore = upScore;
    }

    // 设置一个加分的方法
    addScore() {
        this.scoreEle.innerText = ++this.score + "";
        if (this.score % this.upScore === 0) {
            this.levelUp()
        }
    }

    // 设置一个提升等级的方法
    levelUp() {
        if (this.level < this.maxLevel) {
            this.levelEle.innerText = ++this.level + "";
        }
    }
}

export default ScorePanel;